import axios from 'axios';

export default {
  // 只要你用了模块化，就要把 namespaced: true 带上
  namespaced: true,
  state: {
    // 分类列表
    list: [],
    // 当前激活的分类
    current: {},
  },
  mutations: {
    updateList(state, newList) {
      state.list = newList;
    },
    updateCurrent(state, category) {
      state.current = category;
    },
  },
  actions: {
    async getList(context) {
      // const {
      //   data: {
      //     data: { channels },
      //   },
      // } = await axios({
      //   method: 'GET',
      //   url: 'http://ttapi.research.itcast.cn/app/v1_0/channels',
      // });
      // const { data: res } = await axios({
      //   method: 'GET',
      //   url: 'http://ttapi.research.itcast.cn/app/v1_0/channels',
      // });
      // const { data } = res;
      // const { channels } = data;

      const res = await axios({
        method: 'GET',
        url: 'http://ttapi.research.itcast.cn/app/v1_0/channels',
      });

      // 这里调用commit时，不需要指定模块名前缀，因为处在当前模块上下文环境中
      context.commit('updateList', res.data.data.channels);

      context.commit('updateCurrent', res.data.data.channels[0]);
    },
  },
};
